package com.blog.service;

import com.blog.bean.domain.User;
import com.blog.bean.dto.PassDTO;
import com.blog.bean.dto.UserDTO;
import com.blog.bean.vo.LoginVo;
import com.blog.bean.vo.UserErrorVO;
import com.blog.bean.vo.UserVO;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * @author 任浩
 * @version 1.0
 */
public interface UserService {

    /**
     * 对用户注册的密码等信息进行检验。
     * @param userDTO
     * @return
     */
    UserErrorVO check(UserDTO userDTO);

    /**
     * 激活用户
     */
    void update(int id);

    /**
     * 登录用户
     * @param user
     * @return
     */
    UserErrorVO login(LoginVo user, String vaild);

    /**
     * 得到用户详细信息
     * @return
     */
    UserVO getDetailMessage(Integer userId);

    /**
     * 上传头像
     * @param image
     * @return
     */
    UserVO upload(MultipartFile image,Integer userid) throws IOException;

    /**
     * 修改用户密码
     * @param passDTO
     * @return
     */
    UserErrorVO updatePass(PassDTO passDTO,Integer userid);

    /**
     * 获取当前用户信息。
     * @param response
     * @return
     */
    User getCurrentUser(HttpServletRequest request,HttpServletResponse response);
}
